Summary
The CODESYS Control runtime system's CmpAuditLog component allows potentially unauthenticated remote attackers to control the format string of processed log messages. Due to the internal processing logic, the impact is limited to a crash of the CODESYS Control runtime.
Impact
Exploitation of this vulnerability can lead to a denial-of-service (DoS) condition on affected PLCs, disrupting industrial control systems.
Affected Product(s)
| Model no. | Product name | Affected versions |
|---|---|---|
| CODESYS Control RTE (SL) | vers:generic/3.5.17.0<3.5.22.0 | |
| CODESYS Control RTE (for Beckhoff CX) SL | vers:generic/3.5.17.0<3.5.22.0 | |
| CODESYS Control Win (SL) | vers:generic/3.5.17.0<3.5.22.0 | |
| CODESYS Control for BeagleBone SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for IOT2000 SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for Linux ARM SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for Linux SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for PFC100 SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for PFC200 SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for PLCnext SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for Raspberry Pi SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for WAGO Touch Panels 600 SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Control for emPC-A/iMX6 SL | vers:generic/4.1.0.0<4.21.0.0 | |
| CODESYS Runtime Toolkit | vers:generic/3.5.17.0<3.5.22.0 | |
| CODESYS Virtual Control SL | vers:generic/4.1.0.0<4.21.0.0 |
Vulnerabilities
Expand / Collapse allAn unauthenticated remote attacker may be able to control the format string of messages processed by the Audit Log of the CODESYS Control runtime system, potentially resulting in a denial‑of‑service (DoS) condition.
Mitigation
As a mitigation, the Audit Log feature can be disabled in the CODESYS Control runtime configuration file. When the Audit Log logger is not enabled, the affected functionality is no longer exposed and the vulnerability cannot be exploited.
To disable the Audit Log feature, use the following settings:
[CmpLog]
Logger.0.Name=.Audit.log
Logger.0.Enable=0
Remediation
Update the following products to version 3.5.22.0.
* CODESYS Control RTE (SL)
* CODESYS Control RTE (for Beckhoff CX) SL
* CODESYS Control Win (SL)
* CODESYS Runtime Toolkit
Update the following products to version 4.21.0.0. The release of this version is expected in Q2 2026.
* CODESYS Control for BeagleBone SL
* CODESYS Control for emPC-A/iMX6 SL
* CODESYS Control for IOT2000 SL
* CODESYS Control for Linux ARM SL
* CODESYS Control for Linux SL
* CODESYS Control for PFC100 SL
* CODESYS Control for PFC200 SL
* CODESYS Control for PLCnext SL
* CODESYS Control for Raspberry Pi SL
* CODESYS Control for WAGO Touch Panels 600 SL
* CODESYS Virtual Control SL
The CODESYS Development System and the products available as CODESYS add-ons can be downloaded and installed directly with the CODESYS Installer or be downloaded from the CODESYS Store. Alternatively, as well as for all other products, you will find further information on obtaining the software update in the CODESYS Update area https://www.codesys.com/download/.
Acknowledgments
CODESYS GmbH thanks the following parties for their efforts:
- CERT@VDE for coordination (see https://www.certvde.com )
Revision History
| Version | Date | Summary |
|---|---|---|
| 1.0.0 | 03/24/2026 09:00 | Initial revision. |